With advances in both the computer technology and the available bandwidth of users' Internet connections, streaming media became a common place. From watching a video on the YouTube™ service, to listening streaming music, to watching the latest episode of a favourite day time soap opera—are all examples of users streaming content to their electronic devices—be it laptops, desktops, tablets or smartphones. With the processing power of these electronic devices, combined with the available bandwidth of either home/work or wireless networks, users can stream the content virtually everywhere.
Having said that, it is well recognized in the industry that, even with all the advances in the telecommunication network and the available bandwidth, the available bandwidth in the Internet can vary widely. Not only between different countries (for example, available bandwidth can vary greatly between developed countries and the developing countries), but also within the same country (compare, for example, urban vs. rural areas).
Even within the boundaries of the same neighbourhood, different households may have subscribed to different service providers' packages (for example, for the sake of a cheaper package and the associated monthly subscription fee or the like) and, as such, may have different download/upload bandwidth available to them.
Furthermore, for those users using smartphones on the wireless networks for the purposes of streaming media content to their electronic devices (i.e. smartphones), the comparatively limited bandwidth and comparatively limited coverage of the wireless networks, as well as wireless interference can cause large fluctuations in available bandwidth. In those circumstances, when congestion occurs (or even without congestion), bandwidth can degrade quickly. For streaming media, which require long lived and stable connections, fluctuations in available bandwidth can be detrimental for the quality of the user experience.
Within the prior art solutions for media streaming, it is known to deliver video streams using Real Time Streaming Protocol (RTSP) through a Content Delivery Network (CDN). CDN technology is widely used nowadays since it allows for redistributing traffic across multiple edge nodes to prevent bottlenecks, reducing time of delivery of content to a client and reducing bandwidth costs.
Generally speaking, a typical prior art CDN consists of multiple nodes that can provide content to electronic devices associated with the various users with the streamed media. When a particular electronic device associated with a particular user tries to connect to a CDN, the connection is established to a node that has the most appropriate characteristic for the particular electronic device. For example, it is known that the most appropriate characteristic of the node so selected can be, for example, the node that is geographically closest to the location of the electronic device. Alternatively, the most appropriate characteristic of the node so selected may be the node with the lowest latency and the like.
As a result of the known CDN architecture, the electronic device associated with the particular user establishes a faster and/or more reliable connection than it could be in the case of a randomly selected node within the CDN. Further, the usage of CDN is usually transparent to the electronic device, and there is no need to use any hardware nor software nor applications on the electronic device side. Particularly, a convenient web browser can use CDNs ‘out of the box’. U.S. Pat. No. 7,299,291 describes an example of such prior art CDN technology.
Within the prior art solutions, an RTSP protocol (described in RFC 2326) is used for establishing and controlling media sessions between end points (such as, for example, between the server or the node in the CDN and the electronic device associated with the user). The RTSP protocol provides a set of commands to control a playback of media content that is being delivered in real time from the server to the electronic device.
The RTSP protocol allows inter alia getting a description of the media content, setting up a specific media stream, starting and pausing the delivery of the media, etc. The aforementioned U.S. Pat. No. 7,299,291 describes how RTSP protocol can be used to access content through CDN.